package aloge;

import java.util.LinkedList;
import java.util.List;

public class FibsHeap implements MergeAbleHeap<FibsHeap> {

    static class Node {
        private int value;
        private Node p;
        private Node child;
        private Node left;
        private Node right;

        public int getValue() {
            return value;
        }

        public void setValue(int value) {
            this.value = value;
        }

        public Node getP() {
            return p;
        }

        public void setP(Node p) {
            this.p = p;
        }

        public Node getChild() {
            return child;
        }

        public void setChild(Node child) {
            this.child = child;
        }

        public Node getLeft() {
            return left;
        }

        public void setLeft(Node left) {
            this.left = left;
        }

        public Node getRight() {
            return right;
        }

        public void setRight(Node right) {
            this.right = right;
        }
    }

    private Node root = new Node();

    public static FibsHeap makeHeap() {
        return new FibsHeap();
    }

    @Override
    public FibsHeap insert(int x) {
        return null;
    }

    @Override
    public int minimum() {
        return 0;
    }

    @Override
    public FibsHeap extractMin() {
        return null;
    }

    @Override
    public FibsHeap union(FibsHeap other) {
        return null;
    }
}
